The mac menu-bar popover ported verbatim to Windows reads as an orphan windowlet floating near the tray — Windows has no menu-bar metaphor to hang it on. Same content model, new carrier: a notification-area flyout in the Windows 11 idiom, anchored to our tray icon, flush with the taskbar corner. No pointer arrow, 8px window radius, 4px control radius, 12px screen margins, acrylic approximated with layered fills rather than real Mica.
Urgency owns the top of the surface: terracotta section label, count pill, and the only filled buttons on screen. Running rows below carry no button at all, so the eye lands on the two decisions first. The tray icon holds a matching badge, which is what makes the flyout feel attached to it rather than merely near it.
The NEEDS YOU section is absent, not emptied — no zero pill, no "nothing to approve" shell. The flyout shrinks to its content and stays bottom-anchored, so the distance from the taskbar never changes. Terracotta disappears from the surface entirely; calm should look calm.
One quiet line, one dim dot, and the footer. No illustration, no call to action, no "start a session" button — the flyout is a status glance, and the place to start work is the app the footer opens. Fleet summary switches to 无会话 so the header still answers the question the user opened it with.
Three approvals is the cap; the fourth and fifth become a single accent row that hands off to the approval centre instead of growing the flyout into a scroller. This is the tallest the surface is allowed to get — 3 needs-you plus 6 running rows still clears the taskbar with room to spare.
Hover raises the row fill to 5.5% white and adds a 2 px terracotta edge on the left — the row, not the button, is what lights up, so pointer position is never ambiguous when two approvals sit adjacent. Allow warms one step and gains a soft accent halo; Deny gains border weight only, keeping the destructive action reachable but never the brightest thing in the row. Keyboard focus uses a light outline on the default action instead of the row fill, so tabbing reads differently from pointing.
The exit is in the header, one click deep, and it is the first item — nobody should have to hunt for the way to make this surface stop appearing. 隐藏此浮层 writes the existing settings toggle; 通知设置… opens that pane in the app. The caption states what survives the hiding, because a badge on the tray icon is the difference between hidden and uninstalled.
A beak points at a menu-bar item. Windows system flyouts do not have one; they sit in the corner and are understood by position. Keeping it was the single loudest tell that the window was ported.
12 px from the right screen edge and 12 px above the taskbar, matching clock and volume. It does not track the tray icon's x-position, which is what made the ported version drift into open space.
8 px on the window, 4 px on buttons and chips. Our mac build uses softer radii throughout; on Windows the tighter control radius is what makes the buttons read as native.
Base fill #16171B, a 96 px top-down white wash at 3.5%, and a 1 px highlight line across the very top edge. Border is white at 8.5%. Nothing depends on what is behind the window, so Compose renders it identically with or without composition effects.
A wide soft drop plus a tight contact shadow. Since the surface cannot blur the wallpaper, separation has to come from the shadow — it is heavier than the mac popover's on purpose.
In: 250 ms, 22 px rise plus fade, ease-out. Out: 150 ms fade, no travel. Same curve family as the system flyouts; dismiss on click-outside, Esc, and tray-icon re-click.
Needs-you rows are 48 px (two lines: title + the tool being requested); running rows are 44 px (one line). Every text run truncates at one line — the flyout never wraps and never scrolls in the happy path.
Three approvals, six running sessions, then the counts move into the overflow row and the footer. Content model is unchanged from mac — only the carrier and the paddings are Windows-specific.
Terracotta #E2795A for urgency only, green #7ECBA0 for running, Inter for UI, JetBrains Mono for machine names and elapsed. The #16171B flyout fill is one step up from the app's #141417 surface — same family, reads as floating.
Session titles, machine names and elapsed values are fixtures. Wallpaper is a placeholder fill — I can't generate imagery, so a real screenshot should be dropped in before this goes to review. Taskbar glyphs are stand-ins for real Windows iconography. macOS keeps its pointer-arrow dropdown unchanged; nothing here touches it.